The present invention relates to optical reader-scanner systems and, in particular, for improved means for processing data detected by a reader-scanner system.
Optical reader-scanner systems have achieved applications at automated supermarket check-out counters. A reader-scanner system operates as a data input system for electronic cash register systems and is used to read UPC (universal product code) symbols on the items.
The UPC symbol system was developed by the Universal Grocery Product Code Council, Inc., and is a bar code system which provides for binary coding of ten product identification decimal digits. The first five of these digits identify the producer of the item, and the last five identify the particular item of his product line. The actual symbol is comprised of about sixty parallel light and dark bars. Each of the ten digits used to identify the item is represented by a specific group of these bars and the actual encoding of the digit is obtained by variation in widths of bars making up this group.
In some cases, lesser numbers of digits are used and provisions have been made for utilizing greater numbers of digits for future codification. A complete description of the UPC symbol system may be found in a publication entitled "UPC Symbol Specification" dated May 1973 and published by Distribution Number Bank, 1725 K Street, N.W., Washington, D.C.
The reader-scan system contributes to the efficiency and convenience of the operation of automated check-out counters by allowing the UPC symbols to be read automatically as a package is manually transferred from the counter, across a scan pattern area or window.
In automatic electronic cash register systems, the data covering such things as pricing, quantity or coupon discounting and taxable or non-taxable nature of the item are stored in a memory bank of a controller console. The controller is programmed so that the address of this memory bank location corresponds to digital information encoded in the UPC symbol printed on the package of the item.
Typically, the scan pattern system uses a very low-powered laser, such as a helium-neon laser, to provide a coherent beam of monochromatic light. This type of light source provides the high level signal-to-noise ratio necessary for processing that is unavailable from other sources. The laser beam is then directed to a scanner mechanism which generates an optical scan pattern at a window in the check-out counter. An example of such an optical scan system is disclosed in copending patent application Ser. No. 568,633, filed Apr. 16, 1975, entitled "Optical Scan Pattern Generator" of James L. Hobart and Wayne S. Mefferd, and assigned to the assignee of the present application.
The actual identification of the symbol is made by electronically analyzing the signals generated by the laser light beam that is reflected back from the package surface to an optical detector. The output of the detector then goes to electronic circuitry and is continuously analyzed for the UPC symbol coded content.
When the high speed movement of the light beam crosses the light and dark bars of a UPC symbol, a specific pulse train waveform is generated. The characteristics of this waveform are established by the width of the individual light and dark bars and by the speed of the sweep. If the electronic circuitry determines that the symbol is valid and positive identification of the symbol is made, the signal is passed onto the controller of the cash register system. This output signal provides the address for the memory bank location where the instructions, for billing and cash register-receipt recording of that symbol, are stored.
If the symbol is not valid, i.e. has been tampered with, altered or damaged, the positive identification cannot be made, a no-reading visual or audio alarm is sounded. This notifies the clerk that a visual identification and a manual cash register entry must be made.
In scanner-reader systems presently available, the validation and identification of the stream of light and dark bars does not take place in real time. By this it is meant that the electronic processing circuitry does not analyze the data on a one-for-one basis as it is received. Rather, data which is believed to be valid data is routed to off-line registers or other storage devices, where the data is analyzed by the processor. Simultaneously, on-coming data which may be valid is routed to other registers. Data remains in a register until the processor determines that it is either valid or invalid.
Depending upon the optical scanner system used and the position of a label as it passes the scanner window, it is possible that only one or a few scans will intercept the label. When this happens, it is important that the data stream be correctly processed to determine the label information or else the label will not be read.
In the prior art system previously described, the storage registers frequently fill up with information which, although originally thought to be good information, turns out to be invalid. For example, the register may be filled with signals reflected from print on the container surface. If the processor takes a longer time to determine the contents of each register than it takes to fill up the registers, and if all the registers fill up with invalid data, then a for a given scan, good data which is subsequently provided as the beam sweeps the label is lost. In the case described above, where only one or a few scans intersect the label, this results in the label not being read at all.
The foregoing data processing system has other disadvantages. Processing time is relatively slow since the processing time does not take place in real time. Also, data is frequently stored long after sufficient information is available to determine that it is invalid. Also, this approach involves relatively expensive and complex electronic circuitry for its implementation.